package com.bestcem.xm.ticket.mq.send.biz;

import com.bestcem.xm.ticket.dao.dto.RspdTimerDTO;
import com.bestcem.xm.ticket.entity.mongo.Ticket;
import com.bestcem.xm.ticket.entity.mongo.TicketRecord;
import com.bestcem.xm.ticket.service.dto.mq.FollowOverdueDTO;
import com.bestcem.xm.ticket.service.dto.mq.TicketSendDTO;

import java.util.Date;
import java.util.Map;

public interface TicketMessageSendService {

    void publishMemberFootSaveMqRefactor(Ticket ticket);

    void publishTicketChangeMq(Ticket ticket);

    void publishTicketCreateMQ(Ticket ticket, Map<String, String> groupInfo);

    void publishTicketRecordCreateMq(Ticket ticket, TicketRecord ticketRecord, String userGroupCode, String surveyNo, String regionName);

    void publishTicketRecordCreateMq(Ticket ticket, TicketRecord ticketRecord);

    void ticketSendNotifySend(TicketSendDTO ticketSendDTOFreq, Date sendMqDelayDate, String msg);

    void ticketOverDueSend(FollowOverdueDTO followOverdueDTO, Date sendTime, String msg);

    /**
     * 发送工单创建MQ
     */
    void ticketRecordCreatedSend(Object data);

    /**
     * 工单预警触发队列消息
     */
    void ticketRuleTriggeredSend(RspdTimerDTO rspdTimerDTO);
}
